/*
 * Copyright (c) 2022 Thirty Meter Telescope International Observatory
 * SPDX-License-Identifier: Apache-2.0
 */

package csw.command.client.messages

/**
 *                          +-----------------------+                          *                                                             +-------------------+                                                                                               *                        +----------------------+
 *                          |                       |                          *                                                             |                   |                                                                                               *                        |                      |
 *              +-----------+ ContainerActorMessage +---------+                *                                       +---------------------+ SupervisorMessage +------------------------------+-------------------------------------------+                    *      +-----------------+ TopLevelActorMessage +-----------------------------+
 *              |           |                       |         |                *                                       |                     |                   |                              |                                           |                    *      |                 |                      |                             |
 *              |           +-----------------------+         |                *                                       |                     +---------+---------+                              |                                           |                    *      |                 +-----------+----------+                             |
 *              |                                             |                *                                       |                               |                                        |                                           |                    *      |                             |                                        |
 *              |                                             |                *                                       |                               |                                        |                                           |                    *      |                             |                                        |
 *              |                                             |                *                                       |                               |                                        |                                           |                    *      |                             |                                        |
 *              |                                             |                *                                       |                               |                                        |                                           |                    *      |                             |                                        |
 *              |                                             |                *                                       |                               |                                        |                                           |                    *      |                             |                                        |
 *              v                                             v                *                                       v                               v                                        v                                           v                    *      |                             v                                        v
 *   +----------+-----------+                 +---------------+----------+     *                            +----------+-------+          +------------+----------+            +----------------+-----------------+           +-------------+------------+       *      |                 +-----------+----------------+         +-------------+-------------+
 *   |                      |                 |                          |     *                            |                  |          |                       |            |                                  |           |                          |       *      |                 |                            |         |                           |
 *   | ContainerIdleMessage |                 |     ContainerMessage     |     *                  +---------+ ComponentMessage |          | SupervisorIdleMessage |            | SupervisorInternalRunningMessage |           | SupervisorRestartMessage |       *      |                 | TopLevelActorCommonMessage |         | TopLevelActorIdleMessage  |
 *   |                      |                 |                          |     *                  |         |                  |    +-----+                       |            |                                  |           |                          |       *      |                 |                            |         |                           |
 *   +----------+-----------+                 +--------------+-----------+     *                  |         +---------+--------+    |     +-----------------------+            +----------------------------------+           +--------------------------+       *      |                 +----------------------------+         +---------------------------+
 *              |                                            |                 *                  |                   |             |                                                                                                                            *      |
 *              v                                            v                 *                  v                   |             |                                                                                                                            *      |
 *   +----------+------------+                 +-------------+----------+      *     +------------+-----------+       |             |                                                                                                                            *      |
 *   |                       |                 |                        |      *     |                        |       |             |                                                                                                                            *      |
 *   | FromSupervisorMessage |                 | ContainerCommonMessage +----+   +---+ ComponentCommonMessage |       |             |                                                                                                                            *      |
 *   |                       |                 |    (external)          |    |   |   |       (external)       |       |             |                                                                                                                            *      |
 *   +-----------------------+                 +------------------------+    |   |   +------------------------+       |             |                                                                                                                            *      |
 *                                                                           |   |                                    |             |                                                                                                                            *      |
 *                                                                           |   |                                    +----------------------------------------+                                                                                                 *      |
 *                                                                           |   |                                                  |                          |                                                                                                 *      |
 *                                                                           v   v                                                  |                          v                                                                                                 *      |
 *                                                                    +------+---+----+                                             |            +-------------+------------+                                                                                    *      |
 *                                                                    |               |                                             |            |                          |                                                                                    *      |
 *                                                                    | CommonMessage |                                             |        +---+ SupervisorRunningMessage +-----+-------------------------------+                                              *      |
 *                                                                    |               |                                             |        |   |                          |     |                               |                                              *      |
 *                                                                    +---------------+                                             |        |   +--------------------------+     |                               |                                              *      |
 *                                                                                                                                  |        |                                    |                               |                                              *      |
 *                                                                                                                                  |        |                                    |                               |                                              *      |
 *                                                                                                                                  |        |                                    |                               |                                              *      |
 *                                                                                                                                  v        v                                    v                               v                                              *      |
 *                                                                                                                         +--------+--------+-------------+          +-----------+-----------+           +-------+--------+                                     *      |
 *                                                                                                                         |                               |          |                       |           |                |                                            |
 *                                                                                                                         | FromComponentLifecycleMessage |          | SupervisorLockMessage +--+   +----+ RunningMessage | <------------------------------------------+
 *                                                                                                                         |                               |          |     (external)        |  |   |    |   (external)   |
 *                                                                                                                         +-------------------------------+          +-----------------------+  |   |    +----------------+
 *                                                                                                                                                                                               |   |
 *                                                                                                                                                                                               |   |
 *                                                                                                                                                                                               |   |
 *                                                                                                                                                                                               v   v
 *                                                                                                                                                                                      +--------+---+---+
 *                                                                                                                                                                                      |                |
 *                                                                                                                                                                                      | CommandMessage |
 *                                                                                                                                                                                      |                |
 *                                                                                                                                                                                      +----------------+
 */
private[messages] object MessagesArchitecture {}
